<!DOCTYPE html>
<html>
  <head lang="en">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta
      name="viewport"
      content="width=device-width,height=device-height,initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover"
    />
    <title>Zaplib - make web apps fast</title>

    <style>
      a {
        text-decoration: none;
        color: #3c3c3c;
      }
      body {
        font-family:Arial, Helvetica, sans-serif;
        color: #3c3c3c;
        font-size: 1.3em;
      }

      .essay > div {
        margin-top: 15px;
        line-height: 1.7;
      }
    </style>
    <script defer data-domain="zaplib.com" src="https://plausible.io/js/plausible.js"></script>
  </head>
  <body>
    <div style="display: flex; flex-direction: column; max-width: 750px; padding: 20px; margin: auto;">
      <div style="display: flex; justify-content: space-between; align-items: center;">
        <div style="font-size:x-large;">⚡️ Zaplib</div>
        <div style="font-size: medium;">
          <a style="margin-left: 8px; margin-right: 8px;" href="/docs">Docs</a>
          <a style="margin-left: 8px; margin-right: 8px;" href="/slack.html">Slack</a>
          <a style="margin-left: 8px; margin-right: 8px;" href="https://github.com/Zaplib/zaplib">Github</a>
        </div>
      </div>
      <div style="display: flex; flex-direction: column; margin-top: 30px;">
        <div style="display: flex; flex-direction: column;">
          <div style="font-size: xx-large;"> 
            Port your slow JavaScript to Rust, <em style="background: linear-gradient(90deg, rgba(14,36,0,1) 0%, rgba(1,107,161,1) 0%, rgba(48,199,198,1) 87%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; padding-right: 1px;">incrementally</em>
          </div>
          <div style="margin-top: 15px; line-height: 1.7;">
            Zaplib is a frontend framework that lets you rewrite the slow pieces of
            your app in Rust and have them seamlessly run within your existing JS/TS web
            app.
          </div>
        </div>
        <div style="display:flex; justify-content: center; margin-top: 20px;">
          <a style="display: block; width:100%; text-align: center; padding: 10px; border-radius: 3px; border: 2px solid #00a0ef; margin-right: 5px" href="./docs" >Read the Docs</a>
          <a style="display: block; width:100%; text-align: center; padding: 10px; border-radius: 3px; background-color: #00a0ef; margin-left: 5px; color: white; border: 2px solid transparent;" href="./slack.html">Join our Slack</a>
        </div>
      </div>

      <!-- </div> -->
        <!-- TODO: https://twitter.com/PaulO_Carroll/status/1494857211306201091 -->
      <!-- </div>       -->
      
      <!-- <br /> -->
      
      <div class="essay" style="">
        <div>
          <blockquote style="background-color: #ffe9d1; padding: 40px; border-radius: 10px; color: #616161; margin: auto; margin-top: 40px; margin-bottom: 40px;">
            Creators need an immediate connection to what they&apos;re creating.
            <div style="margin-top: 15px; text-align: end;">&mdash; Bret Victor, <em>Inventing on Principle</em></div>
          </blockquote>
  
        </div>
        
        <div>
          Every profession deserves a fast tool. Unfortunately, the web wasn&rsquo;t
          built for performance. This isn&rsquo;t a problem for most sites, but for
          highly interactive tools like Figma, JavaScript just doesn&rsquo;t cut it.
          Rust lets you write performance-intensive code in a natural way, and it
          now runs on the web!
        </div>
        <div>
          Zaplib is an open-source Rust WebAssembly framework. It allows you to
          rewrite pieces of your app in Rust and have them seamlessly run within
          your existing JS app.
        </div>
        <!-- <div>
          Zaplib got started at Cruise, where JP felt that low-level JavaScript
          (ArrayBuffers and WebWorkers) was simply the wrong tool to make web apps fast.
        </div> -->
        <div>
          Porting over pieces of your JS app is just the beginning! We have the bones of a full
          web framework with 2d and 3d rendering, an UI components, and more. We hope to
          empower the next generation of app developers to empower the next
          generation of engineers, architects, designers, policy-makers, scientists,
          artists, and creators of all kinds.
        </div>
        <!-- <div>
          Want to build the web stack of the future?
        </div>
        <div>
          <a style="display: block; width:100%; text-align: center; padding: 10px; background-color: #00a0ef; color: white; border-radius: 3px" href="./slack.html">Join our Slack</a>
        </div> -->
      </div>
    </div>
  </body>
</html>
